home *** CD-ROM | disk | FTP | other *** search
/ System Booster / System Booster.iso / Texteditors / GoldED Tools / GoldDock / ARexx / WindowArrange.ged < prev   
Encoding:
Text File  |  1996-09-27  |  2.1 KB  |  68 lines

  1. /****************************************************************
  2.  * Windows arrangieren unter Beachtung von Rändern für Docks,   *
  3.  * Laufwerkpiktogramme auf der WB, etc. und einer               *
  4.  * Priorität für das aktuelle Fenster im Argument WinPri        *
  5.  * $VER: 0.2, ©1994 Markus Aretz                                *
  6.  *                                                              *
  7.  ***************************************************************/
  8.  
  9. OPTIONS RESULTS                             /* enable return codes     */
  10.  
  11. if (LEFT(ADDRESS(), 6) ~= "GOLDED") then    /* not started by GoldEd ? */
  12.     address 'GOLDED.1'
  13.  
  14. 'LOCK CURRENT'                              /* lock GUI, gain access   */
  15. OPTIONS FAILAT 6                            /* ignore warnings         */
  16. SIGNAL ON SYNTAX                            /* ensure clean exit       */
  17.  
  18.  
  19. /* ----------------------------------------------- ------------------- */
  20.  
  21. /* WinPri           Faktor, um den das aktive Fenster gestaucht
  22.                     bzw. gestreckt wird  */
  23.  
  24. PARSE ARG WinPri .
  25.  
  26. 'QUERY WINDOWS VAR WINNR'
  27.  
  28. /* trace r */
  29.  
  30. QUERY SCREENH VAR SCREENH     /* Abmessungen des GoldED-Screens  */
  31. QUERY SCREENW VAR SCREENW     /* evtl. fehlerhaft wg ReqTools-Fkt.,
  32.                                  dann feste Werte einsetzen für ScreenH,
  33.                                  ScreenW */
  34.  
  35. LMargin=100         /* Einstellungen für freizulassende Ränder */
  36. RMargin=105
  37. TMargin=28          /* Höhe des Docks */
  38. TitleH=23           /* Höhe der Titelzeile      */
  39.  
  40. WinW=ScreenW-LMargin-RMargin      /* Breite des Docks */
  41. WinH=trunc((1024-TitleH-TMargin)/(WinNr+(WinPri-1)))
  42.  
  43. i=1
  44. WinY=TitleH+TMargin+1
  45. ActiveWinH=trunc(WinH*winpri)
  46. 'WINDOW HEIGHT='ActiveWinH 'WIDTH='WinW 'Y='WinY' X='LMargin
  47.  
  48. WinY=WinY+ActiveWinH
  49.  
  50. DO WHILE i<WinNr
  51.     i=i+1
  52.     'WINDOW QUIET NEXT HEIGHT='WinH 'WIDTH='WinW 'Y='WinY' X='LMargin
  53.     WinY=WinY+WinH
  54. END
  55. 'WINDOW NEXT'
  56.  
  57. /* ------------------------------------------------------------------- */
  58.  
  59. 'UNLOCK' /* VERY important: unlock GUI */
  60. EXIT
  61.  
  62. SYNTAX:
  63.  
  64. SAY "Sorry, error line" SIGL ":" ERRORTEXT(RC) ":-("
  65. 'UNLOCK'
  66. EXIT
  67.  
  68.